<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="/jquery/jquery.js"></script>
</head>
<body>
    <input type="button" value="ajax" onclick="sendAjax()">
    <input type="button" value="ajax2" onclick="sendAjax2()">
    <input type="button" value="ajax3" onclick="sendAjax3()">

    <script>
       /*  jqXHR.done(function(data, textStatus, jqXHR) {});
        一个可供选择的 success 回调选项的构造函数。
        jqXHR.fail(function(jqXHR, textStatus, errorThrown) {});
        一种可供选择的 error 回调选项的构造函数。
        jqXHR.always(function(data|jqXHR, textStatus,jqXHR|errorThrown) { });
        一种可供选择的complete回调选项的构造函数 */
        function sendAjax(){
          $.ajax({
                url:"/jquery/base",
            }).done(function(data){
                console.log(data);
            }).fail(function(jqXHR){
                console.log("出现问题了");
            }).always(function(){
                console.log("到我这了");
            });
         
        }

        function sendAjax2(){

            // jquery的ajax对象.promise().then(function(data, textStatus, jqXHR){}).catch(function(jqXHR, textStatus, errorThrown){}).always();
            $.ajax({
                url:"/jquery/base"
            }).promise()
            .then(function(data){
                console.log(data);
            })
            .catch(function(jqXHR, textStatus, errorThrown){
                console.log(errorThrown);
            })
            .always(function(){
                console.log("-----------------");
            });
        }

        async function sendAjax3(){
           try{
            let data=await  $.ajax({ url:"/jquery/async"}).promise();
            let res=data.split(",");
            console.log(res);
           }catch(e){
            console.log(e.status,"----------");
           }
        }
    </script>
</body>
</html>